Kodkod for Alloy Users

نویسندگان

  • Emina Torlak
  • Greg Dennis
چکیده

The generality of Alloy’s relational logic and the full automation of its analysis have prompted several attempts to use Alloy as a backend engine for other tools. However, these efforts have been hampered by the Alloy Analyzer’s lack of 1) a clean API, 2) support for partial instances, and 3) a mechanism for sharing subformulas and subexpressions. Designed expressly as a plugin component, the Kodkod relational engine overcomes these limitations. Unlike the Analyzer, Kodkod provides a simple interface for constructing and analyzing Alloy formulas; it accepts user-provided partial instances of these formulas; and it employs a robust scheme for exploiting shared formulas and expressions. This paper is an introduction to Kodkod for current Alloy practitioners. It describes the key differences between Kodkod and the Alloy Analyzer, including the meaning and utility of partial instances. A complete example that programmatically builds and analyzes an Alloy formula with Kodkod is presented, and results that compare Kodkod to the Alloy Analyzer on a series of benchmarks are discussed.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extending Alloy with Partial Instances

Kodkod, the backend of Alloy4, incorporates new features for solving models where part of the solution, that is, a partial instance, is already known. Although Kodkod has had this functionality for some time, it is not explicitly available to the modeller through the Alloy language syntax. We propose an extension to the Alloy language to make partial instances explicitly available to the Alloy ...

متن کامل

Optimizing Alloy for Multi-objective Software Product Line Configuration

Software product line (SPL) engineering involves the modeling, analysis, and configuration of variability-rich systems. We improve the performance of the multi-objective optimization of SPLs in Alloy by several orders of magnitude with two techniques. First, we rewrite the model to remove binary relations that map to integers, which enables removing most of the integer atoms from the universe. ...

متن کامل

Towards Model Validation and Verification with SAT Techniques

After sketching how system development and the UML (Unified Modeling Language) and the OCL (Object Constraint Language) are related, validation and verification with the tool USE (UML-based Specification Environment) is demonstrated. As a more efficient alternative for verification tasks, two approaches using SAT-based techniques are put forward: First, a direct encoding of UML and OCL with Boo...

متن کامل

Optimizing MiniSAT Variable Orderings for the Relational Model Finder Kodkod - (Poster Presentation)

Introduction. It is well-known that the order in which variables are processed in a DPLL-style SAT algorithm can have a substantial effect on its run-time. Different heuristics, such as VSIDS [2], have been proposed in the past to obtain good variable orderings. However, most of these orderings are general-purpose and do not take into account the additional structural information that is availa...

متن کامل

Validating B, Z and TLA + Using ProB and Kodkod

We present the integration of the Kodkod high-level interface to SAT-solvers into the kernel of ProB. As such, predicates from B, Event-B, Z and TLA can be solved using a mixture of SAT-solving and ProB’s own constraint-solving capabilities developed using constraint logic programming: the first-order parts which can be dealt with by Kodkod and the remaining parts solved by the existing ProB ke...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006